package com.siashan.toolkit.crypt.symmetric;

/**
 * 对称算法类型<br>
 * see: https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#KeyGenerator
 *
 * @author siashan
 * @since 1.0.7
 */
public enum SymmetricAlgorithm {
    /**
     * 默认的AES加密方式：AES/ECB/PKCS5Padding
     **/
    AES,
    /**
     * 默认的DES加密方式：DES/ECB/PKCS5Padding
     * */
    DES,
    /**
     * 3DES算法，默认实现为：DESede/CBC/PKCS5Padding
     * */
    DESede,
    /**
     * ARCFOUR
     */
    ARCFOUR,
    /**
     * Blowfish
     */
    Blowfish,
    /**
     * RC2
     */
    RC2,

    /**
     * PBEWithMD5AndDES
     */
    PBEWithMD5AndDES,
    /**
     * PBEWithSHA1AndDESede
     */
    PBEWithSHA1AndDESede,
    /**
     * PBEWithSHA1AndRC2_40
     */
    PBEWithSHA1AndRC2_40,
    /**
     * SM4算法
     */
    SM4;
}